In using a software application or the like on a computer or the like, a user is often able to avail himself or herself of a help function built into or attached to the application. Such help function can be quite thorough and even exhaustive, and may contain a number of help topics or the like that can be accessed by way of an index of key words, a table of contents, or a search phrase, among other things.
Importantly, a user searching for one or more particular help topics must have at least a rough idea of the key words, contents section, or search phrase to employ to find such help topics. However, the user can easily be led astray by a bad choice, or may at times not even have any notion of where to start. Finding an appropriate help topic can easily become a frustrating and fruitless exercise, then.
In at least some applications and some instances with regard to such applications, and in an effort to alleviate the aforementioned situation, a particular portion or activity of the application may be linked directly to one or more help topics of the help function, where the linked-to pre-defined help topics presumably correspond to the particular portion. Accordingly, a user working at the particular portion of the application can merely actuate the link and immediately be directed to the pre-defined presumably corresponding help topics. For example, if the activity is saving a file worked on by the user with the application, a saving transaction may provide a help switch that when actuated by a user transfers such user to various ‘save file’ help topics.
In the aforementioned circumstance, the help function may be said to be activity-sensitive in that the help topics presented to the user are based on and relevant to the current activity of the application. However, such activity sensitivity does not take into account the current overall context of the application. That is, the topics displayed relate only to saving a file, and not to the type of file that is being saved, the way the file is being edited, the tools used to edit the file, any libraries employed to develop the file, any selections relating to the file, and the like. Put simply, the topics displayed are most likely pre-defined based only on the activity of saving a file. However, it may very well be that the user is interested in a help topic relating to another aspect of the current overall context of the application.
Accordingly, a need exists for a help engine that provides dynamic help to a user of an application based on the current overall context of the application. More particularly, a need exists for such a help engine that provides dynamic help that updates when the overall context of the application changes. Further, a need exists for such a help engine that models current overall context and obtains, prioritizes, and displays help topics based thereon, whereby the displayed help topics are of interest and help to the user. Still further, a need exists for a help architecture that allows the help engine to obtain help from one or more help sources.